iT邦幫忙

2026 iThome 鐵人賽

DAY 20
0
Build on Google AI

將考國際證照的應用程式變成開源系列 第 30

deployment: build-configuration.md

  • 分享至 

  • xImage
  •  

02-build-configuration.md

編譯設定 (Build Configuration)

AI Agent Target: Defines Android build specifications, environment variables passed during compilation, and code signing configurations.
Human Target: 設定 Android 編譯、傳遞環境變數與管理發布簽章的詳細資訊。

Android 編譯設定 (android/app/build.gradle.kts)

Android 應用程式需要特定設定以支援本地 AI 模型 (LiteRT-LM) 與付費模組 (RevenueCat v10)。

  • 應用程式 ID (App ID): 可配置的命名空間,取決於您的目標認證考試。
  • minSdk: 30 (LiteRT-LM 與 RevenueCat 強制要求)。
  • NDK 版本鎖定: 28.2.13676358 (確保 SQLite 的 C++ 編譯穩定)。
  • Java/Kotlin 目標版本: VERSION_17
  • R8 程式碼縮減: isMinifyEnabled = true
  • 資源縮減: isShrinkResources = true
  • ProGuard 規則: 定義於 proguard-rules.pro

Flutter --dart-define 環境變數

編譯期變數可確保 API 金鑰不直接寫入原始碼中。

完整清單:

  • FIREBASE_API_KEY
  • SUPABASE_URL
  • SUPABASE_ANON_KEY
  • POWERSYNC_URL
  • REVENUECAT_APPLE_API_KEY
  • REVENUECAT_GOOGLE_API_KEY

透過 PowerShell 範例:

flutter build apk --dart-define=FIREBASE_API_KEY="your_key"

簽章設定 (Signing Configuration)

key.properties 格式

storePassword=<password>
keyPassword=<password>
keyAlias=upload
storeFile=../keystore/upload-keystore.jks

產生金鑰

使用 keytool 產生用於發布簽章的 upload-keystore.jks,並放於 android/keystore/ 目錄。


上一篇
deployment: environment-setup
下一篇
deployment: android-deployment
系列文
將考國際證照的應用程式變成開源31
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言